module.exports = secret => {
    return async function verifyToken(ctx, next) {
        // 若是没有 token，返回的是 null 字符串
        const token = ctx.request.header.token;
        console.log(ctx.request.header, 'ctx.request.header');
        if (token != 'null' && token) {
            // 有 token 需要校验
            try {
                console.log(ctx.app.jwt.verify, 'ctx.app.jwt.verify');
                const decode = ctx.app.jwt.verify(token, secret);
                console.log('token 需要校验', decode);
                await next();
            } catch (error) {
                console.log('error', error);
                // ctx.status = 200;
                ctx.body = {
                    code: 401,
                    msg: 'token已过期，请重新登录',
                };
            }
        } else {
            // token 不存在
            // ctx.status = 200;
            ctx.body = {
                code: 401,
                msg: 'token不存在',
            };
        }
    };
};